Micron Document
`:top
`!Server Side Includes`! (`F33f`_`[englisch`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Englische_Sprache]`_`f für `*serverseitige Einbindungen`*), auch bekannt als `!SSI`!, sind in (meist `F33f`_`[HTML`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=HTML]`_`f-)Dokumente eingebettete, einfach zu nutzende `F33f`_`[Skript-Befehle`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Skriptsprache]`_`f, die auf dem `F33f`_`[Webserver`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webserver]`_`f ausgeführt werden, bevor das Dokument an den `F33f`_`[Client`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Client]`_`f ausgeliefert wird. Sie stellen eine einfach zu verwendende Alternative zu Programmen bzw. Skripten dar, die das ganze Dokument dynamisch generieren. Die Sprache ist `F33f`_`[Turing-vollständig`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Turing-Vollständigkeit]`_`f.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f]

>>Contents

• `F0af`_`[Entstehung`#entstehung]`_`f
• `F0af`_`[Verwendung`#verwendung]`_`f
• `F0af`_`[Syntax`#syntax]`_`f
• `F0af`_`[Wichtige Befehle`#wichtige-befehle]`_`f
• `F0af`_`[X-Bit-Hack`#x-bit-hack]`_`f
• `F0af`_`[Ähnliche Konzepte`#hnliche-konzepte]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f

-─

>>Entstehung

Ursprünglich wurden SSI als `F33f`_`[Apache`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Apache_HTTP_Server]`_`f-Modul `B100`F9d9mod_ssi`f`b eingeführt. Heutzutage unterstützen auch andere Webserver die `F33f`_`[Skriptsprache`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Skriptsprache]`_`f, unter anderem der `F33f`_`[IIS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft_Internet_Information_Services]`_`f von `F33f`_`[Microsoft`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft]`_`f.

>>Verwendung

Mit SSI kann der statische Inhalt einer `F33f`_`[Datei`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Datei]`_`f oder die dynamische Ausgabe eines Programms/Skriptes in ein Dokument eingefügt werden. Die zur Verfügung stehenden Befehle sind bewusst spartanisch gehalten: `F33f`_`[Fallunterscheidungen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Verzweigung_(Programmierung)]`_`f, `F33f`_`[Variablen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Variable_(Programmierung)]`_`f speichern und ausgeben, `F33f`_`[CGI`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Common_Gateway_Interface]`_`f-Programme ausführen oder andere Dateien einbinden.

>>>Syntax

Server Side Includes haben die folgende `F33f`_`[Syntax`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Syntax]`_`f:

`B100`F9d9<!--#befehl parametername1="wert" parametername2="wert" -->`f`b

Das einleitende `B100`F9d9<!--`f`b und das abschließende `B100`F9d9-->`f`b entsprechen den Zeichen für Beginn und Ende eines `F33f`_`[HTML`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hypertext_Markup_Language]`_`f- oder `F33f`_`[XML`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Extensible_Markup_Language]`_`f-Kommentares und sorgen dafür, dass der `F33f`_`[Browser`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webbrowser]`_`f die Befehle nicht anzeigt, falls SSI deaktiviert ist.

>>>Wichtige Befehle

`t
| Befehl | Parameter | Beschreibung | Beispiel |
|---|---|---|---|
| include | file oder virtual | Sorgt dafür, dass der Inhalt der Datei eingefügt wird. file adressiert diese Datei relativ zum aktuellen Verzeichnis, virtual relativ zum Root-Dokument-Verzeichnis. | <!--#include file="header.shtml" --> <!--#include virtual="script.pl" --> |
| set | var , value oder errmsg | Schreibt Inhalt von value in die Variable var . Errmsg definiert die Standard-Fehlermeldung, die bei den nächsten Fehlern ausgegeben werden soll. Kann z. B. vor ein SSI-Include gesetzt werden und wird dann angezeigt, wenn die Datei nicht geladen werden kann. | <!--#set var="test" value="Hallo Welt!" --> oder <!--#set errmsg="Es ist ein Fehler aufgetreten!" --> |
| echo | var | Gibt Variable var wieder. Es kann sich dabei um selbstdefinierte Variablen handeln oder um CGI - Umgebungsvariablen wie z. B. ${REMOTE_ADDR} . | <!--#echo var="test" --> |
| exec | cgi oder cmd | Führt das Programm cgi oder den Befehl cmd aus und fügt dessen Ausgabe ein. | <!--#exec cmd="ls -lsa" --> |
| if | expr | Prüft den Ausdruck expr , gültig sind dabei = gleich, != ungleich, < kleiner, > größer oder ein regulärer Ausdruck . Es können mehrere Kriterien aneinander gereiht werden, indem man sie mit // für ODER oder && für UND voneinander trennt. Ein praktischer Einsatzzweck ist beispielsweise die Internationalisierung einer Webseite: | <!--#if expr="${a} = ${b} // ${b} > 2 && ${a} != 0" --> HTML <!--#endif --> <!--#if expr="$QUERY_STRING=/lang=FR/"--> FR Inhalt <!--#elif expr="$QUERY_STRING=/lang=EN/"--> EN Inhalt <!--#else--> DE Inhalt <!--#endif --> |
`t

>>>X-Bit-Hack

Der Webserver erkennt HTML-Seiten mit Server Side Includes meist an der `F33f`_`[Dateiendung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Dateiendung]`_`f `B100`F9d9.shtml`f`b oder `B100`F9d9.stm`f`b. Somit müssen nicht sämtliche HTML-Seiten nach SSI-Befehlen durchsucht werden, was die Seitenauslieferung beschleunigt. Um allerdings vor dem Benutzer die Verwendung von SSI zu verbergen, besteht eine Alternative, die zuerst vom Apache-Webserver eingeführt wurde. Dabei werden HTML-Dateien, die SSI-Anweisungen enthalten, an einem speziellen Datei-Attribut erkannt. Es handelt sich dabei um den sogenannten „X-Bit-Hack“. Ist diese Funktion im Webserver aktiviert (z. B. durch die Direktive `B100`F9d9XBitHack on`f`b in der .htaccess-Datei), werden alle HTML-Seiten, bei denen das `F33f`_`[Ausführ-Bit`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Unix-Dateirechte]`_`f (`*execute`* bit) gesetzt ist, vom SSI-Interpreter ausgewertet, ehe sie an den Client ausgeliefert werden. Da die Dateirechte vom Client aus nicht sichtbar sind, kann so die Verwendung von SSI vor dem Benutzer verborgen werden.

>>Ähnliche Konzepte

• Syntaktisch verwandt sind die Programmiersprachen `F33f`_`[PHP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PHP]`_`f, `F33f`_`[ASP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Active_Server_Pages]`_`f und `F33f`_`[JSP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=JavaServer_Pages]`_`f, bei denen dynamisch generierter Code durch eine besondere Kennzeichnung in statischem HTML eingebettet werden kann.

>>Weblinks

• Apache Tutorial: Introduction to Server Side Includes, englischsprachiges `F33f`_`[Tutorial`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Tutorial]`_`f vom Apache-Projekt
• Server Side Include commands, kurze, englischsprachige Übersicht vom `F33f`_`[W3C`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=W3C]`_`f
• `F33f`_`[SELFHTML`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=SELFHTML]`_`f: Server Side Includes, deutschsprachige Dokumentation
• Using Server Side Includes, kurzer englischsprachiger Einführungsartikel, erschienen in der Zeitschrift Apache Week

>>Einzelnachweise

`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f https://www.janschejbal.de/projekte/ssituring/ Server Side Includes Turing machine, Jan Schejbal, zuletzt abgerufen am 12. August 2010.

`c`F0af`_`[↑ Back to top`#top]`_`f`a